Skip to content

Conversation

@unboundlopez
Copy link

@unboundlopez unboundlopez commented Jan 25, 2026

Select Lock Overlay
This is a DFHack overlay plugin for Dwarf Fortress (SelectLockLabors) that simulates the selection and locking of multiple units within the Work Details screen. It provides a simple UI interface to batch-toggle units' labor assignments, either by selecting, locking, or both.

Features
Overlay Interface: Integrated directly into the LABOR/WORK_DETAILS viewscreen.
Action Modes: Choose between Select only, Lock only, or Select + Lock.
Batch Processing: Specify how many entries to affect and apply actions with one click.
Non-Intrusive: Uses DFHack GUI input simulation to trigger existing functionality.
Usage
Once the plugin is loaded and you're in the Work Details screen (e.g., y -> Work Details), the overlay will automatically appear.

Use the Mode dropdown to select what action(s) to simulate: - Select only: Just toggles unit selection. - Lock only: Just toggles the lock status. - Select + Lock: Toggles both selection and lock.
Adjust the number of entries to apply actions to (default is 7).
Press the RUN button (or the hotkey defined for it) to execute the actions.

unboundlopez and others added 14 commits June 1, 2025 12:39
…L_RIGHT')

added         gui.simulateInput(dfhack.gui.getCurViewscreen(), 'STANDARDSCROLL_RIGHT')
reason: in the event that the user does not select a unit and the selection is only the labor choices(by default). This line will select the first unit on the list.
I think 7 as a default is reasonable compared to 100
…s-to-selectlocklabors

Tighten SelectLockLabors input handling and refresh viewscreen; rename docs
@unboundlopez unboundlopez marked this pull request as ready for review January 25, 2026 19:18
@ab9rf ab9rf added this to 53.10-r2 Jan 25, 2026
@ab9rf ab9rf moved this to Being worked on in 53.10-r2 Jan 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Being worked on

Development

Successfully merging this pull request may close these issues.

1 participant